import Cookies from 'js-cookie';

const useAppStore = defineStore('app', {
	state: () => ({
		sidebar: {
			opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
			withoutAnimation: false,
			hide: false,
		},
		// 左侧导航栏
		leftNav: {
			// 是否打开
			opened: false,
		},
		device: 'desktop',
		size: Cookies.get('size') || 'default',
	}),
	actions: {
		toggleSideBar(withoutAnimation) {
			if (this.sidebar.hide) {
				return false;
			}
			this.sidebar.opened = !this.sidebar.opened;
			this.sidebar.withoutAnimation = withoutAnimation;
			if (this.sidebar.opened) {
				Cookies.set('sidebarStatus', 1);
			} else {
				Cookies.set('sidebarStatus', 0);
			}
		},
		closeSideBar({ withoutAnimation }) {
			Cookies.set('sidebarStatus', 0);
			this.sidebar.opened = false;
			this.sidebar.withoutAnimation = withoutAnimation;
		},
		openLeftNav() {
			this.leftNav.opened = true;
		},
		closeLeftNav() {
			this.leftNav.opened = false;
		},
		toggleDevice(device) {
			this.device = device;
		},
		setSize(size) {
			this.size = size;
			Cookies.set('size', size);
		},
		toggleSideBarHide(status) {
			this.sidebar.hide = status;
		},
	},
});

export default useAppStore;
